Data transmissions can be significantly affected by errors in the transmission. For example, transmission errors may affect a read command sent from a memory controller to a memory redrive device. In response to a detected error, the memory redrive device may transmit a special error indication command alert status frame. The alert status frame indicates that the read command was corrupted. The memory controller may subsequently perform a corrective action, such as resending the failed command. For instance, the memory controller may replay the read command or retrain the link between the memory controller and the memory redrive device prior to replaying the read command.
When a memory controller is engaged in a corrective action, its ability to process new commands and data is diminished. For example, the memory controller may be unavailable to transmit commands from a requesting agent or to receive data related to the commands. Commands assigned to a memory controller may become backlogged in the memory controller. Such a backlog may increase memory latency. In many instances, memory latency may result in an undesirable decrease in overall system performance. Therefore, there exists a need for improved command scheduling at the memory controller.